Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix/300 피커 버그 수정 #305

Merged
merged 4 commits into from
May 26, 2024
Merged

Fix/300 피커 버그 수정 #305

merged 4 commits into from
May 26, 2024

Conversation

ohgus
Copy link
Contributor

@ohgus ohgus commented May 25, 2024

#️⃣연관된 이슈

close: #300

📝작업 내용

  • 친구가 기본 프로필일 경우 피커에서 리스폰스로 null을 전달해주면서 이미지가 표시되지 않는 문제 수정
  • 여러명을 선택했을 때 띄워지는 이미지가 깨지는 문제 수정
  • 로그아웃, reissue 404 response 에서 선택한 친구를 초기화하는 로직 추가

🙏리뷰 요구사항(선택)

  • 첫번째랑 두번재 문제는 배포 환경에서 발생하는 이슈라서 배포하고 다시 확인이 필요할것 같습니다.
  • PickerResponseDatanullable 값을 수정할지 고민인데 다른 분들 생각이 궁금합니다.
    제가 고민하는 이유는 따로 null을 지정하지 않아도 '' 이런식으로 데이터를 넘겨주기 때문입니다!
image image

ohgus added 2 commits May 25, 2024 17:30
- 친구의 프로필 이미지 response 값이 null이면 기본 이미지를 띄워주게 수정
- 여러명을 선택했을 때 띄워주는 이미지 경로 절대 경로로 수정
(#300)
@ohgus ohgus self-assigned this May 25, 2024
Copy link

vercel bot commented May 25, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
kakao-funding ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 26, 2024 8:06am

Copy link
Contributor

@uraflower uraflower left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

피커 리스폰스 타입에 null 을 추가해도 실제로 오는 널값이 빈 문자열('')이라면, null을 추가하는 의미가 있을지 잘 모르겠네요..! 저는 타입에 null 추가하지 않아도 상관없지만, 빈 문자열인지 아닌지 확인하는 부분은 필요하다고 생각합니당

Comment on lines 8 to 11
const peopleImgUrl = 'src/assets/profile_people.png';
const peopleImgUrl =
'https://github.com/KakaoFunding/front-end/blob/dev/src/assets/profile_people.png?raw=true';
const friendsDefaultImgUrl =
'https://github.com/KakaoFunding/front-end/blob/dev/src/assets/profile_default.png?raw=true';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거 경로 문제가 왜 생기는지 알겠네요 !
기존 url이 src/assets/img.png처럼 되어 있으면 배포 환경에서 오류가 납니다.
assets/img.png처럼 되어 있어야 해요.

image

이건 저희 빌드하면 나오는 결과물 스크립트 일부인데요. 보시면 경로가 src/assets/...로 되어 있습니다. 그런데 실제로 빌드해보면 src라는 폴더는 없어요. 그러니까 이 부분 이미지가 깨지게 되는 거죠.

image

실제로 빌드하면 위 사진처럼 dist라는 폴더가 생깁니다. 저희가 아마존에 배포하는 정적 파일들이 바로 dist 폴더를 이루는 파일들이에요. dist 폴더 안에는 assets라는 폴더가 있고, 그 안에는 빌드 결과물 스크립트나 저희가 저장한 이미지 파일들이 있습니다. 이 파일들은 빌드(압축)하는 과정에서 이름이 바뀌어요. 아래 사진처럼요.

image

보시면 경로가 assets/바뀐파일이름.png로 되어 있습니다. 이런 이미지는 깨지지 않습니다. 왜냐하면 배포환경에 해당 경로가 존재하기 때문입니다. (dist 폴더를 이루는 파일&폴더들이 배포환경에 올라감 => 거기에는 assets/바뀐파일이름.png도 존재함 => 정상적으로 이미지를 가져옴)

아마 이렇게 되는 이유는 저희가 이렇게 설정해서일 거예요. (vite.config 등)

원인과 해결 방법을 알았으니 assets/img.png처럼 바꾸는 것은 어떨까요?
지금처럼 아예 이미지 url을 사용하는 방식의 경우, 이미지 url을 저희가 관리하는 게 아니라서 변경되거나 삭제될 우려도 있고, 그러면 이미지가 또 깨지게 되니까요. 또한 보기에도 좋지 않다고 생각합니다...!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 감사합니다!
적용해서 올리겠습니다!

Copy link
Contributor Author

@ohgus ohgus May 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 방법으로 적용했을 때 로컬에서는 깨져서 나오기 때문에 실제로 적용이 되는지는 배포가 되어야 확인할 수 있어 보입니다!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이미지 가져오실 때 import로 하시면 로컬에서도 깨지지 않고 배포했을 때도 깨지지 않을 거예요

// 잘못된 예
const errorImage = 'assets/notFound.png'; // 그냥 문자열임

// 올바른 예
import ErrorImage from 'assets/notFound.png';
<img src={ErrorImage} alt="error"/>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아... 저 여태 계속 const로 되어 있는걸 인식하지 못하고 있었네요... ㅜ
감사합니다!

@devkyoung2
Copy link
Member

저도 미림님 말씀처럼 string 타입을 지정하되 빈 문자열인지 아닌지 체크해주는 로직을 추가하는것이 좋은 방법이라고 생각합니다.

@ohgus
Copy link
Contributor Author

ohgus commented May 26, 2024

@devkyoung2 @uraflower
빈 문자열을 체크하지는 않지만 falsy 값이 오면 디폴트 이미지를 띄워주게 되어 있는데 이 방법은 별로라고 생각하시는 건가요?

@ohgus ohgus merged commit 37d7e23 into dev May 26, 2024
3 checks passed
@ohgus ohgus deleted the fix/300 branch May 26, 2024 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

피커 버그 수정
3 participants